package com.sdy.common.utils;

/**
 * 数据脱敏
 * @author zhouziqiang
 */
public class DesensitizeUtil {
    
    /**
     * 隐藏密码
     */
    public static String hidePassword(String s) {
        return "******";
    }
    
    /**
     * 隐藏手机号
     */
    public static String hideCellPhone(String s) {
        if (StringUtil.isEmpty(s)) {
            return "";
        }
        if (s.length() < 11) {
            return genStarStr(s.length());
        }
        int len = s.length();
        return s.substring(0, 3).concat("****").concat(s.substring(len - 4, len));
    }
    
    /**
     * 隐藏身份证号
     */
    public static String hideIdCardNo(String s) {
        if (StringUtil.isEmpty(s)) {
            return "";
        }
        if (s.length() < 15) {
            return genStarStr(s.length());
        }
        int len = s.length();
        return s.substring(0, 4).concat("**********").concat(s.substring(len - 4, len));
    }

    /**
     * 隐藏姓名
     */
    public static String hideName(String s) {
        return StringUtil.hideName(s);
    }

    /**
     * 生成定长的*字符串
     */
    private static String genStarStr(int len) {
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < len; i++) {
            sb.append("*");
        }
        return sb.toString();
    }
}
